'use strict'

//引入需要用到的模块
let fs = require('fs');
let path = require('path');
let router = require('koa-router')();

//筛选此文件夹里的所有文件，找到 .js 文件并且不是index.js
function scrrenControllers(){
    //获取此文件夹下的所有文件
    let files = fs.readdirSync(__dirname);
    //使用过滤器筛选出.js 文件并且不是index.js的文件
    let filterfile = files.filter(filename=>{
        return filename.endsWith('.js') && filename !== 'index.js';
    })
    //返回过滤结果
    return filterfile;
}

//注册路由
function registerRouter(files){
    //遍历每个路径文件
    files.forEach(x => {
        //把此文件夹路径和x拼接获得完整的路径
        let fullpath = path.join(__dirname,x);
        //获取文件里的路由
        let obtainrouter = require(fullpath);
        for(let r in obtainrouter){
            let typ = obtainrouter[r][0];
            let oi = obtainrouter[r][1];
            if(typ === 'get'){
                router.get(r,oi);
            }
            else{
                router.post(r,oi);
            }
        }
    });
}

module.exports = function(){
    //调用函数scrrenControllers()
    let files = scrrenControllers();
    //调用函数registerRouter(),把files传进去
    registerRouter(files);
    //返回路由
    return router.routes();
}